<?php

    $submenu = array( 
            0 => array('nome' => 'Listagem', 'link' => 'voluntariado/listarVoluntariados'),
            1 => array('nome' => 'Tipos', 'link' => 'voluntariado/listarTiposVoluntariado'),
    );


    class Voluntariado extends CI_Controller{
        
        function index(){
            $this->estaLogado();
            redirect('voluntariado/listarVoluntariados');
        }
        
        function estaLogado(){
            $id = $this->session->userdata('pessoa_id');
            if(empty($id)){
                redirect('pessoa/login');
            }else{
                $this->temAvaliacoes($id);
            }
        }
        
        function temAvaliacoes($id){
            $this->load->model('pessoaModel');
            $aval = $this->pessoaModel->temAvaliacoes($id);
            $this->session->set_userdata('avaliacoes', $aval);
            return true;
        }
        
        function listarVoluntariados(){
            $this->estaLogado();
            $this->load->model('voluntariadoModel');
            $this->load->model('pessoaModel');
            
            $dados['voluntariados'] = $this->voluntariadoModel->getVoluntariados();
            foreach($dados['voluntariados'] as $voluntariado){
                $voluntariado->membro = $this->pessoaModel->getNomeMembro($voluntariado->membro_id);
                $voluntariado->tipo = $this->voluntariadoModel->getTipo($voluntariado->tipo_id);
            }
            $dados['submenu'] = $submenu = array( 
                0 => array('nome' => 'Listagem', 'link' => 'voluntariado/listarVoluntariados'),
                1 => array('nome' => 'Tipos', 'link' => 'voluntariado/listarTiposVoluntariado'),
            );
            
            $this->load->view('voluntariado/listarVoluntariados', $dados);
        }
        
        function cadastrarVoluntariado(){
            $this->load->model('voluntariadoModel');
            $this->load->model('pessoaModel');
            $id = $this->uri->segment(3);
            
            if($id)
                $dados['membro'] = $this->pessoaModel->getMembro($id);
            else
                $dados['dropMembros'] = $this->pessoaModel->dropMembros();
            $dados['dropTipos'] = $this->voluntariadoModel->dropTiposVoluntariado();
            
            $this->load->view('voluntariado/cadastrarVoluntariado',$dados);            
        }
        
        function cadastrandoVoluntariado(){
            $this->load->model('voluntariadoModel');
            
            $dados['voluntariado'] = $this->input->post('voluntariado');
            $dados['data'] = $this->input->post('data');
            $dados['membro_id'] = $this->input->post('membro');
            $dados['tipo_id'] = $this->input->post('tipo');
            
            $this->voluntariadoModel->cadastrarVoluntariado($dados);
            
            redirect('voluntariado/listarVoluntariados');
        }
        
        function editarVoluntariado(){
            $this->load->model('voluntariadoModel');
            $this->load->model('pessoaModel');
            $id = $this->uri->segment(3);
            
            $dados['voluntariado'] = $this->voluntariadoModel->getVoluntariado($id);
            $dados['dropMembros'] = $this->pessoaModel->dropMembros();
            $dados['dropTipos'] = $this->voluntariadoModel->dropTiposVoluntariado();
            
            $this->load->view('voluntariado/editarVoluntariado',$dados);
        }
        
        function editandoVoluntariado(){
            $this->load->model('voluntariadoModel');
            
            $dados['id'] = $this->input->post('id');
            $dados['voluntariado'] = $this->input->post('voluntariado');
            $dados['data'] = $this->input->post('data');
            $dados['membro_id'] = $this->input->post('membro');
            $dados['tipo_id'] = $this->input->post('tipo');
            
            $this->voluntariadoModel->editarVoluntariado($dados);
            
            redirect('voluntariado/listarVoluntariados');
        }
        
        function excluirVoluntariado(){
            $this->load->model('voluntariadoModel');
            $id = $this->uri->segment(3);
            
            $this->voluntariadoModel->excluirVoluntariado($id);
            return true;
        }
        
        function listarTiposVoluntariado(){
            $this->estaLogado();
            $this->load->model('voluntariadoModel');
            
            $dados['tipos'] = $this->voluntariadoModel->getTiposVoluntariado();
            $dados['submenu'] = $submenu = array( 
                0 => array('nome' => 'Listagem', 'link' => 'voluntariado/listarVoluntariados'),
                1 => array('nome' => 'Tipos', 'link' => 'voluntariado/listarTiposVoluntariado'),
            );
            $this->load->view('voluntariado/listarTiposVoluntariado', $dados);
        }
        
        function cadastrarTipoVoluntariado(){
            $this->load->view('voluntariado/cadastrarTipoVoluntariado');
        }

        function cadastrandoTipoVoluntariado(){
            $this->estaLogado();
            $this->load->model('voluntariadoModel');

            $dados['tipo_voluntariado'] = $this->input->post('tipo');
            $dados['pontuacao'] = $this->input->post('pontuacao');
            $this->voluntariadoModel->cadastrarTipoVoluntariado($dados);

            redirect('voluntariado/listarTiposVoluntariado');
        }

        function editarTipoVoluntariado(){
            $this->estaLogado();
            $this->load->model('voluntariadoModel');
            $id = $this->uri->segment(3);

            $dados['tipo'] = $this->voluntariadoModel->getTipoVoluntariado($id);
            $this->load->view('voluntariado/editarTipoVoluntariado', $dados);
        }

        function editandoTipoVoluntariado(){
            $this->estaLogado();
            $this->load->model('voluntariadoModel');

            $dados['id'] = $this->input->post('id');
            $dados['tipo_voluntariado'] = $this->input->post('tipo');
            $dados['pontuacao'] = $this->input->post('pontuacao');
            $this->voluntariadoModel->editarTipoVoluntariado($dados);

            redirect('voluntariado/listarTiposVoluntariado');
        }

        function excluirTipoVoluntariado(){
            $this->estaLogado();
            $this->load->model('voluntariadoModel');
            $id = $this->uri->segment(3);

            $this->voluntariadoModel->excluirTipoVoluntariado($id);
            return true;
        }
    }
?>
